package com.sh.rbac.domain.converter;

import com.sh.rbac.domain.dto.role.RoleSaveDTO;
import com.sh.rbac.domain.dto.role.RoleUpdateDTO;
import com.sh.rbac.domain.entity.Role;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 角色转换器
 *
 * @author wb
 * @since 2024-07-06
 */

@Mapper
public interface RoleConverter {

    RoleConverter INSTANCE = Mappers.getMapper(RoleConverter.class);


    /**
     * 将 RoleSaveDTO 转换为 Role
     *
     * @param roleSaveDTO 角色保存数据传输对象
     * @return 角色实体类
     */
    Role toEntity(RoleSaveDTO roleSaveDTO);


    /**
     * 将 RoleUpdateDTO 转换为 Role
     *
     * @param roleUpdateDTO 角色修改数据传输对象
     * @return 角色实体类
     */
    Role toEntity(RoleUpdateDTO roleUpdateDTO);

}
